package br.ufpe.cin.rgms.membro.persistencia;

import java.util.HashMap;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import br.ufpe.cin.rgms.base.Dao;
import br.ufpe.cin.rgms.base.Persistence;
import br.ufpe.cin.rgms.membro.modelo.Membro;

public class DaoMembro extends Dao<Membro>{

	public DaoMembro() {
		super(Membro.class);
	}

	@Override
	protected String getFirstAtributoDeOrdenacao() {
		return "tipo";
	}
	
	@Override
	protected String getSecondAtributoDeOrdenacao() {
		// TODO Auto-generated method stub
		return "nome";
	}

	public Membro getUsuario(String email) {
		Membro retorno = null;
		
		Criteria criteria = Persistence.getInstance().getSession().createCriteria(Membro.class);

		criteria.add(Restrictions.eq("email", email));
		
		List<Membro> lista = criteria.list();
		
		if(lista.size() > 0){
			retorno = lista.get(0);
		}
		
		return retorno;
	}
	
	/**
	 * Airton
	 * @param email
	 * @return
	 */
	public List<Membro> getUsuarios(String nome, String sobrenome) {
		
		Criteria criteria = Persistence.getInstance().getSession().createCriteria(Membro.class);
		
		criteria.add(Restrictions.eq("nome", nome));
		criteria.add(Restrictions.eq("sobrenome", sobrenome));
		
		List<Membro> lista = criteria.list();
		
		return lista;
	}

}
